﻿using CommunicaionLib.Model;
using PLCLib.Base;
using PLCLib.Interface;
using PLCLib.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PLCLib
{
    /* 表示采用了Modbus协议的PLC业务逻辑类
     */
    public class ModbusPlc : PlcBase
    {
        public override event Action<object, PlcEventArgs> OnMessage;
        public override event Action<object, PlcEventArgs> OnError;
        public override event Action<object, DataPackage> OnSend;
        public override event Action<object, DataPackage> OnReceived;
        public override void Initialize(Net net)
        {
            throw new NotImplementedException();
        }

        public override void Initialize(Port port)
        {
            throw new NotImplementedException();
        }

        public override IPlcResult Read(Command command)
        {
            throw new NotImplementedException();
        }

        public override Task<IPlcResult> ReadAsync(Command command)
        {
            throw new NotImplementedException();
        }

        public override IPlcResult Send(byte[] array)
        {
            throw new NotImplementedException();
        }

        public override Task<IPlcResult> SendAsync(byte[] array)
        {
            throw new NotImplementedException();
        }

        public override IPlcResult Start(Action action)
        {
            throw new NotImplementedException();
        }

        public override void Stop()
        {
            throw new NotImplementedException();
        }

        public override IPlcResult Write(Command command, int data)
        {
            throw new NotImplementedException();
        }

        public override Task<IPlcResult> WriteAsync(Command command, int data)
        {
            throw new NotImplementedException();
        }
        public override IPlcResult Write(Command command, List<int> data)
        {
            throw new NotImplementedException();
        }

        public override Task<IPlcResult> WriteAsync(Command command, List<int> data)
        {
            throw new NotImplementedException();
        }

        public override IPlcResult<T> Read<T>(Command command)
        {
            throw new NotImplementedException();
        }

        public override IPlcResult<T> Write<T>(Command command, T data)
        {
            throw new NotImplementedException();
        }

        public override Task<IPlcResult<T>> ReadAsync<T>(Command command)
        {
            throw new NotImplementedException();
        }

        public override Task<IPlcResult<T>> WriteAsync<T>(Command command, T data)
        {
            throw new NotImplementedException();
        }
    }
}
